Authenticated group key agreement in groups such as ad-hoc scenarios

ABSTRACT

The invention provides a method, system, device and computer program product for setting up a secure session among three or more devices or parties of a communication group, including authenticating a key agreement between the devices or parties of the communication group, wherein the devices of the group start, preferably after a key is computed or agreed, a protocol, preferably a multi-party data integrity protocol, for authenticating the key agreement.

FIELD AND BACKGROUND OF THE INVENTION

The invention generally relates to providing security, and discloses possibilities for the formation of a security association among devices of a group such as a user group formed by non-expert users.

The two-party case of this problem of forming a secure connection has been studied extensively, and is sometimes referred to as the “First Connect” problem.

The present invention relates to a multi-party case with two or more participants which are able to communicate with each other using wireless communication such as short-range radio communication. The invention further relates to security in networks or groups such as close proximity networks or closed-user-groups, CUG, or in ad-hoc networks, such as Local Area Networks, LANs, or WLANs, Wireless LANs.

A problem may arise when several people are for instance in a meeting room or other environment and want to establish a secure communication session, preferably wireless session, among their personal devices such as laptops, computers, or mobile communication devices such as mobile phones. When there is no prior context (like certificates issued by a common central authority, CA), or no experienced security administrator at hand to help, a problem is to find a user-friendly means of establishing a common security association, SA, that can be used to protect the communication among the devices. A security association consists of the cryptographic keys and other information needed to cryptographically protect communication.

Similar scenarios may also arise in multiplayer games, personal network of multiple devices etc.

Authenticating a multi-party Diffie-Hellman key agreement using a shared short password is known, see Asokan and Ginzboorg, “Key agreement in ad hoc networks”, Computer Communications, Apr. 2000, for reference.

Authenticating two-party Diffie-Hellman using non-secret checksums is also known, see Serge Vaudenay, “Secure Communications over Insecure Channels Based on Short Authenticated Strings”, Advances in Cryptology—CRYPTO 2005, Lecture Notes in Computer Science, LNCS vol.3621, Springer-Verlag, pp.309-326, 2005”.

A U.S. Patent Application filed in U.S. Mar. 10, 2005, title “System, Method And Computer Program Product For Authenticating A Data Agreement Between Network Entities”, also discloses a manner of authenticating a data agreement between network entities.

The disclosure contents of this US Patent Application, as well as of the above mentioned articles of Asokan and Ginzboorg, “Key agreement in ad hoc networks”, Computer Communications, Apr. 2000, and Serge Vaudenay, “Secure Communications over Insecure Channels Based on Short Authenticated Strings”, Springer-Verlag, pp.309-326, 2005, is herewith incorporated into the present application to full extent.

SUMMARY OF THE INVENTION

The invention provides a method, system, devices and network elements as defined in the claims.

Further, the invention provides a method, system and device for authenticating a multi-party key agreement, preferably using non-secret checksums only.

The invention shows ways of authenticating a group of devices so that they can perform e.g. authenticated group Diffie-Hellman key agreement. Preferably, this is done by extending the interactive data authentication protocol approach by Vaudenay, CRYPTO 2005, see above, to the multi-party case.

The invention provides a method, system device and product, for setting up a secure session among three or more devices or parties of a communication group, including authenticating a key agreement between the devices or parties of the communication group. The devices of the group start a protocol, preferably a multi-party data integrity protocol, for authenticating the key agreement. The devices of the group start the protocol preferably after the key is computed or agreed. There may be variations where this protocol can be done or started even before the key is agreed.

The invention provides an easy reliable and secure formation of a security association among devices of users such as non-expert users. The present invention primarily relates to the multi-party case of three or more participants, without being restricted thereto.

The invention shows possibilities of how to authenticate a group of devices so that they can perform e.g. authenticated group Diffie-Hellman key agreement.

The present invention allows an easy and secure formation of a security association among devices by non-expert users, in a multi-party case.

Further aspects, advantages and details of embodiments of the invention will be described in the following.

In an embodiment of the invention, a basic multi-party data integrity protocol is used. This multi-party data integrity protocol includes the following features and steps.

1. Devices share a data D, for which they want to verify that it is the same in all devices.

The following steps 2-7 are performed by all devices Di (i=1 . . . n) equally.

2. Device Di picks a fresh 256-bit random number Ri, computes a commitment to Ri, in the form of hi=h(Ri), and broadcasts hi.

3. Di waits until it has received the values hj (j=1 . . . n, j≠i ) from all other devices.

4. Di now broadcasts Ri.

5. Di checks that for each j (j=1 . . . n, j≠i), hj received in step 3 is equal to h(Rj). If the check fails in any case, Di aborts.

6. If the check in step 5 succeeds, Di calculates f(R1, R2, . . . Rn, M). M is a unique representation of the data D, such that if D is changed, then with high probability, there is also a change in M. The output of f( ) is a short numeric string, e.g., four digits. Di displays the string and prompts for user accept/reject.

7. If the user accepts, Di accepts D.

In the above, h( ), ho is a cryptographic commitment function. In practice, it can be a one-way hash function like SHA-256(defined in the FIPS-180-2 document by the US National Institute of Standards and Technology, http://csrc.nist.gov/CryptoToolkit/tkhash.html); and f( ) is a function with a short output. This function f( ) can, for example be HMAC_SHA256 (XOR(R1, R2, . . . Rn); M) or SHA_(—)256(R1, R2, . . . Rn; M) truncated to a four digit number.

Steps 3, where Di waits until it receives the broadcast message from all parties in the previous step is critical to the security. This technique is also applicable to other multiparty authenticated key agreement protocols, where authentication is based on a common shared secret password.

A key agreement used in the invention may e.g. be a Multiparty authenticated Diffie-Hellman key agreement. This key agreement will be described below.

A group of devices Di (i=1 . . . n) compute, or have computed, a shared secret Diffie-Hellman key DHKey. The devices preferably are user devices such as computers, laptops, mobiles etc which want to form, or enter into, an ad-hoc group, that is a temporary group of devices communicating with each other. There are known methods for doing this computation. A straightforward method is the following.

All devices Di perform the following steps equally: 1.) Di has a private key ai and a public key g^(ai). Device Di sets Mi0=g^(ai).

For each j=1. . . n-1, the following steps 2.), 3.) are carried out: 2.) Di sends Mi(j-1) to D(i+1), (here D(n+1)=D1). 3.) Di computes Mij=M(i-1) (j-1)^(ai)Then Mi (n-1) is equal to the shared secret Diffie-Hellman key DHKey=gal^(a1 a2 . . . an) , for all i=1 . . . n.

After the Diffie-Hellman key is computed, the devices set M=DHKey, and start the multi-party data integrity protocol described above.

Similarly, this key authentication method using the data integrity protocol can be applied to any non-authenticated multi-party public key based key-agreement method.

In another embodiment of the invention, the authenticated key agreement protocol can be the same as the one described above, but in which instead of M =DHKey, M is set as follows: M=(g^(A1), g^(A2), . . . , g^(An)), where Ai=(ai)⁻¹ (a1. a2 . . . an).

An exemplary implementation of embodiments of the invention may include the following features or steps.

Example sequence of user actions are as follows:

1. The users of the group to be formed initiate association on each of the devices, e.g., by pressing a button on each device.

2. The devices engage in the protocol or features/steps described above, and each generates and e.g. displays a short string of digits generated as a result of step 2. .

3. The users or devices check whether the string is the same in all devices. As an example, one user reads the digits aloud and the others check if their respective devices show the same string. The string may also be automatically checked for identity by one or more of the devices of the group, e.g. by transferring the strings generated by the devices to the one or more of the devices, for instance using reliable transmission such as infrared transmission. The one or more of the devices checks whether the received strings and possibly also the internally generated strings are identical with each other and, if so, the association is confirmed by the one or more of the devices.

4. If all devices show or have generated the same string, users accept the association on each of their device, e.g., by pressing a confirmation button.

The accepted association is then used in the communication between the users of this group, ensuring privacy.

The method is applicable when for example each device has a display capable of showing a short string (e.g. 4 digits), and a simple input facility (e.g., confirmation button).

The invention thus provides authenticated group key agreement in ad hoc scenarios. The invention can be used with Ad-hoc groups or Ad-hoc networks such as several computers in one room or in a restricted area such as a building, communicating with the other devices belonging to the same group or network, typically only for a limited time period such as a meeting, but not restricted to such a scenario.

The invention provides among others a data authentication protocol for the multi-party case by utilizing Diffie-Hellman key agreement, a method for authenticating multi-party session, and a device performing such steps.

Although preferred embodiments have been described above, the present invention is not limited thereto and intends to cover also all modifications, amendments, additions and deletions of features within the abilities of a person skilled in the art. 

1. A Method for setting up a secure session among three or more devices or parties of a communication group, comprising: authenticating a key agreement between the three or more devices or parties of the communication group, wherein the devices of the communication group start a multi-party data integrity protocol, preferably after a key is computed or agreed, for authenticating the key agreement.
 2. The Method according to claim 1, wherein the multi party data integrity protocol comprises: sharing, by the three or more devices, data for which the three or more devices want to verify is the same in all of the three or more devices; selecting, by at least one of the three or more devices, a random number; computing a value based on the random number; sending or broadcasting the computed value to other devices of the three or more devices; waiting, by at least one of the three or more devices, until it has received the computed values from the other devices; sending or broadcasting, by the at least one of the 3 or more devices, the random number to the other devices; checking, by the at least one of the 3 or more devices, for each received computed value whether it is correct; and calculating, by the at least one of the 3 or more devices, a value based on the random number and the shared data or a unique representation of the shared data, the calculated value being used for accepting or rejecting the secure session.
 3. The method according to claim 2, wherein the computing comprises using a one-way hash function.
 4. The method according to claim 1, wherein the key agreement is a multiparty authenticated Diffie-Hellman key agreement.
 5. The method according to claim 1, wherein the three or more devices compute, or store, a shared secret Diffie-Hellman key.
 6. The method according to claim 1, wherein a Diffie-Hellman key is computed, the devices set the shared data or a unique representation of the shared data to correspond to the computed key, and start the multi party data integrity protocol.
 7. The method according to claim 1, wherein the three or more devices are user devices, computers, laptops, or mobiles, which want to form an ad-hoc group.
 8. The method according to claim 1, comprising the step of performing the key agreement before authenticating the key agreement.
 9. The method according to claim 1, comprising the step of performing an authenticated group key agreement.
 10. The method according to claim 1, comprising the step of performing an authenticated group Diffie-Hellman key agreement.
 11. The method according to claim 1, comprising the step of computing a shared secret key, the shared secret key comprising a Diffie-Hellman key K.
 12. The method according to claim 1, wherein the three or more devices use a public key based key-agreement method for agreeing on a key.
 13. The method according to claim 1, wherein the three or more devices of the group are adapted for, or use, wireless communication.
 14. The method for authenticating a multi-party key agreement according to claim 1, comprising using non-secret checksums.
 15. A system for setting up a secure session among three or more devices or parties of a communication group, including means for authenticating a key agreement between the three or more devices or parties of the communication group, wherein the 3 or more devices of the communication group are configured to start, after a key is computed or agreed, a multi-party data integrity protocol.
 16. The system according to claim 15, wherein the three or more devices share a data, for which they want to verify is the same data in all of the three or more devices; at least one of the three or more devices selecting a random number and computing a value based on the random number, and sending or broadcasting the computed value to other devices of the three or more devices; the at least one of the three or more devices waiting until it has received the computed values from the other devices; the at least one the three or more devices sending or broadcasting the random number to the other devices of the three or more devices; the at least one of the three ore more devices checking for each received computed value whether it is correct; and the at least one of the three or more devices calculating a value based on the random numbers and the shared data that is used for accepting or rejecting the session.
 17. A device for setting up a secure session between the device and two or more devices or parties of a communication group, comprising: means for authenticating a key agreement between the devices or parties of the communication group, wherein the device is configured to start, preferably after a key is computed or agreed, a multi-party data integrity protocol.
 18. The device according to claim 17, wherein the device is configured to carry out the following steps of the multi-party data integrity protocol: sharing, by the device, data for which the device wants to verify is the same in all devices; selecting, by the device, a random number; computing a value based on the random number; sending or broadcasting the computed value to the other devices; waiting, by the device, until it has received the computed values from other devices; sending or broadcasting, by the device, the random number to the other devices; checking, by the device, for each received computed value whether it is correct; and calculating, by the device, a value based on the random numbers and the shared data, the calculated value being used for accepting or rejecting the session.
 19. A computer program embodied on a computer readable medium, the program being configured to control a computer to perform the following steps: authenticating a key agreement between the three or more devices or parties of the communication group, wherein the devices of the communication group start a multi-party data integrity protocol after a key is computed or agreed, for authenticating the key agreement. 